Dependencies

CMake

Building tool used by WOLF and by some of its dependencies. In order to install cmake please follow the instructions at cmake site. WOLF requires >= CMake-3.18 which can usually be installed via repository.

Eigen

Eigen is a linear algebra, header library. WOLF requires Eigen >= 3.3.7. We recommend to install it via apt.

sudo apt install libeigen3-dev

Ceres

Ceres is an optimization library. Currently, this dependency is mandatory.

All ceres dependencies can be installed via apt

sudo apt install libgoogle-glog-dev libgflags-dev libatlas-base-dev libsuitesparse-dev

Ceres 2.2 can be installed:

wget http://ceres-solver.org/ceres-solver-2.2.0.tar.gz
tar zxf ceres-solver-2.2.0.tar.gz
rm ceres-solver-2.2.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-2.2.0
make
make test
sudo make install

yaml-cpp

WOLF uses YAML files for configuration and for saving and loading workspaces. Minimum version required is 0.7.

From ubuntu 22.04, it can be installed via apt:

sudo apt install libyaml-cpp-dev

In previous ubuntu distributions, it has to be installed via source.

yaml-schema-cpp

yaml-schema-cpp is a library for specifying and checking the structure, entries and types of YAML files.

To install it:

git clone -b main --depth 1 https://github.com/joanvallve/yaml-schema-cpp.git
cd yaml-schema-cpp
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON ..
make
sudo make install

spdlog

WOLF uses spdlog library for logging. Minimum version required is v1.0.0. It can be installed via apt:

sudo apt install libspdlog-dev

Boost (optional)

Boost 1.73 or higher is an optional dependency. If found, the macro Macros for processors is fully operative.